<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QSculpt: CommandBase Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">QSculpt
   &#160;<span id="projectnumber">0.0.1a</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">CommandBase Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CommandBase" --><!-- doxytag: inherits="ICommand" -->
<p><code>#include &lt;<a class="el" href="_command_base_8h_source.html">CommandBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CommandBase:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_command_base.png" usemap="#CommandBase_map" alt=""/>
  <map id="CommandBase_map" name="CommandBase_map">
<area href="class_i_command.html" alt="ICommand" shape="rect" coords="0,0,168,24"/>
<area href="class_add_group_command.html" alt="AddGroupCommand" shape="rect" coords="178,112,346,136"/>
<area href="class_add_surface_command.html" alt="AddSurfaceCommand" shape="rect" coords="178,168,346,192"/>
<area href="class_brush_command.html" alt="BrushCommand" shape="rect" coords="178,224,346,248"/>
<area href="class_orbit_command.html" alt="OrbitCommand" shape="rect" coords="178,280,346,304"/>
<area href="class_remove_surface_command.html" alt="RemoveSurfaceCommand" shape="rect" coords="178,336,346,360"/>
<area href="class_select_command.html" alt="SelectCommand" shape="rect" coords="178,392,346,416"/>
<area href="class_smooth_surface_command.html" alt="SmoothSurfaceCommand" shape="rect" coords="178,448,346,472"/>
<area href="class_subdivide_command.html" alt="SubdivideCommand" shape="rect" coords="178,504,346,528"/>
<area href="class_test_command.html" alt="TestCommand" shape="rect" coords="178,560,346,584"/>
<area href="class_transform_camera_command.html" alt="TransformCameraCommand" shape="rect" coords="178,616,346,640"/>
<area href="class_transform_command.html" alt="TransformCommand" shape="rect" coords="178,672,346,696"/>
</map>
 </div></div>

<p><a href="class_command_base-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae17a2890c1659e59fe50dc9f87c1c8ad"></a><!-- doxytag: member="CommandBase::CommandBase" ref="ae17a2890c1659e59fe50dc9f87c1c8ad" args="(ICommand *parent=0)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>CommandBase</b> (<a class="el" href="class_i_command.html">ICommand</a> *parent=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab81271fc0bf66582fc06dde55f92b020"></a><!-- doxytag: member="CommandBase::CommandBase" ref="ab81271fc0bf66582fc06dde55f92b020" args="(const CommandBase &amp;)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>CommandBase</b> (const <a class="el" href="class_command_base.html">CommandBase</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa50b06c56724df2c528296441921617d"></a><!-- doxytag: member="CommandBase::CommandBase" ref="aa50b06c56724df2c528296441921617d" args="(const QString &amp;text, ICommand *parent=0)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>CommandBase</b> (const QString &amp;text, <a class="el" href="class_i_command.html">ICommand</a> *parent=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_i_config_container.html">IConfigContainer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#a2a1914bcde859b19b2215059a79c777a">getConfig</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#af08072be260df3198d4d48bf572113e2">needsUserInteraction</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#a6d230988220beee567f8c63f704fd587">activate</a> (bool active)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#ad5e17eb267558c4995a587c24bdf991b">isActive</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#afb621f4aa1c509230093b761cb367889">mousePressEvent</a> (QMouseEvent *e)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#abb2bbbc05a3c3eaf6b9e0c655883a9b3">mouseReleaseEvent</a> (QMouseEvent *e)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#a7e24718e3ccb53e6c965def4f4c92bbb">mouseMoveEvent</a> (QMouseEvent *e)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#a91c1e18902c4f835b6b43777fdc87353">execute</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_command_base.html#a26189259f723383fc5784d4187a69e09">paintGL</a> (<a class="el" href="class_gl_canvas.html">GlCanvas</a> *c)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a2869838ae2205039e6ecab0d5abc37"></a><!-- doxytag: member="CommandBase::initializeConfigContainer" ref="a7a2869838ae2205039e6ecab0d5abc37" args="()" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>initializeConfigContainer</b> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab56787348bf9ee10c92a72455e51afdb"></a><!-- doxytag: member="CommandBase::_configContainer" ref="ab56787348bf9ee10c92a72455e51afdb" args="" -->
<a class="el" href="class_i_config_container.html">IConfigContainer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_configContainer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9fb89ee76b57dccef5f3a1eaecd83f8"></a><!-- doxytag: member="CommandBase::_isActive" ref="ab9fb89ee76b57dccef5f3a1eaecd83f8" args="" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_isActive</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a2b90910ecb965678afa786fa99099"></a><!-- doxytag: member="CommandBase::_intialPoint" ref="a57a2b90910ecb965678afa786fa99099" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_intialPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc3025e2f440470ee178ba5139e588ce"></a><!-- doxytag: member="CommandBase::_currentPoint" ref="adc3025e2f440470ee178ba5139e588ce" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_currentPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2f098ae8d967499468e26981e792fbc"></a><!-- doxytag: member="CommandBase::_finalPoint" ref="aa2f098ae8d967499468e26981e792fbc" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_finalPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0c0bde92baf5b8943cd654c5ad71c44"></a><!-- doxytag: member="CommandBase::_initialWinPoint" ref="ae0c0bde92baf5b8943cd654c5ad71c44" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_initialWinPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3016f820ada8f831e7f86c98e3d922bc"></a><!-- doxytag: member="CommandBase::_currentWinPoint" ref="a3016f820ada8f831e7f86c98e3d922bc" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_currentWinPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b584ce7d896407ab97bfa1b39ce897a"></a><!-- doxytag: member="CommandBase::_finalWinPoint" ref="a7b584ce7d896407ab97bfa1b39ce897a" args="" -->
Point3&#160;</td><td class="memItemRight" valign="bottom"><b>_finalWinPoint</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cdeca42db625423226e860989fc78ba"></a><!-- doxytag: member="CommandBase::_modelMatrix" ref="a4cdeca42db625423226e860989fc78ba" args="[16]" -->
double&#160;</td><td class="memItemRight" valign="bottom"><b>_modelMatrix</b> [16]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5cd5ef415827878e8d64df01bfb73b0"></a><!-- doxytag: member="CommandBase::_projMatrix" ref="ae5cd5ef415827878e8d64df01bfb73b0" args="[16]" -->
double&#160;</td><td class="memItemRight" valign="bottom"><b>_projMatrix</b> [16]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6884d1509cb7e6a92ec79ca58e0b7c6e"></a><!-- doxytag: member="CommandBase::_viewPort" ref="a6884d1509cb7e6a92ec79ca58e0b7c6e" args="[4]" -->
GLint&#160;</td><td class="memItemRight" valign="bottom"><b>_viewPort</b> [4]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9549824e0fa23f277ef9c92ffcd4ff3a"></a><!-- doxytag: member="CommandBase::_rotationRadius" ref="a9549824e0fa23f277ef9c92ffcd4ff3a" args="" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_rotationRadius</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base class for commands. Contains basic and common command implementation.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Juan Roberto Cabral Flores &lt;<a href="mailto:roberto.cabral@gmail.com">roberto.cabral@gmail.com</a>&gt; </dd></dl>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6d230988220beee567f8c63f704fd587"></a><!-- doxytag: member="CommandBase::activate" ref="a6d230988220beee567f8c63f704fd587" args="(bool active)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CommandBase::activate </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>active</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the command as the active one. This is called with the parameter in true to indicate that the command is active and should be prepared to accept the input from the user (like mouse events, etc).</p>
<p>To set the command as a non active, then pass false in the active parameter.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">active</td><td>True, the command is active. False, the command is no longer active. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_command.html#a7306f8b9bd99f77a80990f2618a1a80d">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_transform_command.html#a1babbad5f30c68ae4af1051e284a568c">TransformCommand</a>, <a class="el" href="class_brush_command.html#a060740729ca207ee0a727a9f4d4f2e1c">BrushCommand</a>, and <a class="el" href="class_transform_camera_command.html#ae0fe3fee4881f3f37e048c7f7871568e">TransformCameraCommand</a>.</p>

</div>
</div>
<a class="anchor" id="a91c1e18902c4f835b6b43777fdc87353"></a><!-- doxytag: member="CommandBase::execute" ref="a91c1e18902c4f835b6b43777fdc87353" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CommandBase::execute </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Execute the command in no interactive way. This means, that once that all the parameters of the command are set, the command will be executed without user intervention. </p>

<p>Implements <a class="el" href="class_i_command.html#ace81beb0beea968f876f292446bf1120">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_test_command.html#a4405c511268e83fadeccf795d061bfae">TestCommand</a>, <a class="el" href="class_transform_command.html#a8f8b1bd59c2504f6045462e2a429b1c0">TransformCommand</a>, <a class="el" href="class_smooth_surface_command.html#a5b0e2f600a827ed8b5da725889ae1962">SmoothSurfaceCommand</a>, <a class="el" href="class_add_group_command.html#aed148132c820b917e2ee54a3b0bececd">AddGroupCommand</a>, <a class="el" href="class_select_command.html#a988e16cc34d68f56494f614bedc2cbab">SelectCommand</a>, <a class="el" href="class_subdivide_command.html#a38766d0eefcd6fbf6992591b92baadcb">SubdivideCommand</a>, <a class="el" href="class_remove_surface_command.html#a1f7737d86ca3d8cd2a46e64531e0252a">RemoveSurfaceCommand</a>, <a class="el" href="class_transform_camera_command.html#a5fed035ad999b65c2e259fa3c41d2137">TransformCameraCommand</a>, and <a class="el" href="class_add_surface_command.html#a93991ad4a57481e583f24ac2f8883b46">AddSurfaceCommand</a>.</p>

</div>
</div>
<a class="anchor" id="a2a1914bcde859b19b2215059a79c777a"></a><!-- doxytag: member="CommandBase::getConfig" ref="a2a1914bcde859b19b2215059a79c777a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_i_config_container.html">IConfigContainer</a> &amp; CommandBase::getConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a reference to the container of config paramters for the command</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>referece to an <a class="el" href="class_i_config_container.html">IConfigContainer</a> class </dd></dl>

<p>Implements <a class="el" href="class_i_command.html#a664413cea0467d547246b111b4d1a67d">ICommand</a>.</p>

</div>
</div>
<a class="anchor" id="ad5e17eb267558c4995a587c24bdf991b"></a><!-- doxytag: member="CommandBase::isActive" ref="ad5e17eb267558c4995a587c24bdf991b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CommandBase::isActive </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Indicate if the command is active or incactive. An active command is a command that is in execution. </p>

<p>Implements <a class="el" href="class_i_command.html#aadb432aafaef4aa811a2600afdf23b6b">ICommand</a>.</p>

</div>
</div>
<a class="anchor" id="a7e24718e3ccb53e6c965def4f4c92bbb"></a><!-- doxytag: member="CommandBase::mouseMoveEvent" ref="a7e24718e3ccb53e6c965def4f4c92bbb" args="(QMouseEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CommandBase::mouseMoveEvent </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when a mouse move event ocurrs. This method is called by the widget (a QGLWidget). </p>

<p>Implements <a class="el" href="class_i_command.html#a54ee22a7f387d935cd82de968dd71e7a">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_test_command.html#aad2be6957fdb7a7848610d2bef8d8493">TestCommand</a>, <a class="el" href="class_transform_command.html#a75dc2ac3a35048e1cd6498033c3b1ca5">TransformCommand</a>, <a class="el" href="class_orbit_command.html#aafdc20d87346eb36cb24a5f2e4e378fa">OrbitCommand</a>, <a class="el" href="class_select_command.html#abf3bb5c35f0b24d3a6772f8270dbb943">SelectCommand</a>, <a class="el" href="class_brush_command.html#a32044ab5f96832528377e130654ada2b">BrushCommand</a>, and <a class="el" href="class_transform_camera_command.html#aa5b77a1f6cad706489c998fb8e31ac12">TransformCameraCommand</a>.</p>

</div>
</div>
<a class="anchor" id="afb621f4aa1c509230093b761cb367889"></a><!-- doxytag: member="CommandBase::mousePressEvent" ref="afb621f4aa1c509230093b761cb367889" args="(QMouseEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CommandBase::mousePressEvent </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when a mouse press event ocurrs. This method is called by the widget (a QGLWidget). </p>

<p>Implements <a class="el" href="class_i_command.html#a3006d5cf293fea0e388896c216625124">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_transform_command.html#a809b62a6563b53af2c4a201080be0525">TransformCommand</a>, <a class="el" href="class_test_command.html#ad0af23f7df7f34341907daa89e14939a">TestCommand</a>, <a class="el" href="class_orbit_command.html#af23cc6be926cde82f09a00d8bb9de21d">OrbitCommand</a>, <a class="el" href="class_select_command.html#aa9973e309b0b1a4ea2e3b72dc7fa2408">SelectCommand</a>, <a class="el" href="class_brush_command.html#a08b0e3e92c6824d5a89c021d930e8f2e">BrushCommand</a>, and <a class="el" href="class_transform_camera_command.html#ab65106920a48a69becd7567dbcef0e27">TransformCameraCommand</a>.</p>

</div>
</div>
<a class="anchor" id="abb2bbbc05a3c3eaf6b9e0c655883a9b3"></a><!-- doxytag: member="CommandBase::mouseReleaseEvent" ref="abb2bbbc05a3c3eaf6b9e0c655883a9b3" args="(QMouseEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CommandBase::mouseReleaseEvent </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called when a mouse release event ocurrs. This method is called by the widget (a QGLWidget). </p>

<p>Implements <a class="el" href="class_i_command.html#a6da08f49baa491fc6e52207238a2ade4">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_transform_command.html#ab7bee235152d0221294562121f7c9c22">TransformCommand</a>, <a class="el" href="class_test_command.html#a42ba7e4ebc71c1c51ffe49c4d6d7b25b">TestCommand</a>, <a class="el" href="class_orbit_command.html#a4683100c01ff7d5a3a40f753ae971396">OrbitCommand</a>, <a class="el" href="class_select_command.html#a21827f61c06accfbd9fb41588c53fe99">SelectCommand</a>, <a class="el" href="class_brush_command.html#a9578ec13e66773e11736008c1c2e946e">BrushCommand</a>, and <a class="el" href="class_transform_camera_command.html#a6a5e5f7d6877c6397d5166a44b445c8a">TransformCameraCommand</a>.</p>

</div>
</div>
<a class="anchor" id="af08072be260df3198d4d48bf572113e2"></a><!-- doxytag: member="CommandBase::needsUserInteraction" ref="af08072be260df3198d4d48bf572113e2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CommandBase::needsUserInteraction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>States if the command needs the user interaction for its execution.</p>
<p>This should return TRUE if the command depends on user input like mouse movement. This function should return false if the command does not require user intervention (its action is done immediatly). </p>

<p>Implements <a class="el" href="class_i_command.html#a811ae6af4f66f1f29b8bb18159a6c51f">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_test_command.html#a767268a5134fd36df5b797a0623251c6">TestCommand</a>, <a class="el" href="class_smooth_surface_command.html#a1d8337cf884a7c4b37fb5cceb247fb9d">SmoothSurfaceCommand</a>, <a class="el" href="class_add_group_command.html#aaaf39e77bf8be30cfa6fe7b9d4487071">AddGroupCommand</a>, <a class="el" href="class_subdivide_command.html#a6392ce0ea0ace99cd27178f82f4fa8a0">SubdivideCommand</a>, <a class="el" href="class_remove_surface_command.html#a80935ab362fca2ffd7666342f992d986">RemoveSurfaceCommand</a>, and <a class="el" href="class_add_surface_command.html#a6bbe1452bb8a0605f18be9ae254c13d9">AddSurfaceCommand</a>.</p>

</div>
</div>
<a class="anchor" id="a26189259f723383fc5784d4187a69e09"></a><!-- doxytag: member="CommandBase::paintGL" ref="a26189259f723383fc5784d4187a69e09" args="(GlCanvas *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CommandBase::paintGL </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_gl_canvas.html">GlCanvas</a> *&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Used to display anything specific to the command as user feedback. </p>

<p>Implements <a class="el" href="class_i_command.html#acf5fd8b114dc2dff347e422352fdf89d">ICommand</a>.</p>

<p>Reimplemented in <a class="el" href="class_transform_command.html#a8f4a10f9bc3fe48ab8ef4f104dc212c8">TransformCommand</a>, <a class="el" href="class_test_command.html#a2ce2c4d525a5cdedf97e456abea63ec9">TestCommand</a>, <a class="el" href="class_orbit_command.html#afcec099b373a60406fe93b2b392c1572">OrbitCommand</a>, <a class="el" href="class_select_command.html#a849b100c020aab67ed82633177a8f1df">SelectCommand</a>, and <a class="el" href="class_transform_camera_command.html#aa4e65c82dc3bd7b45bbe4691acfcbb48">TransformCameraCommand</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>qsculpt/include/command/<a class="el" href="_command_base_8h_source.html">CommandBase.h</a></li>
<li>qsculpt/src/command/CommandBase.cpp</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Sat Aug 27 2011 15:38:53 for QSculpt by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
